<?php
require_once('core/core/debug.class.php');
require_once('core/core/error.class.php');
	#doc
	#	classname:	Config
	#	scope:		PUBLIC
	#
	#/doc

	class Config {
		#	internal variables
		public static $_instance = NULL;

		#	Singleton pattern
		public static function init() {
			if (is_null(self::$_instance)) {
				$class = __CLASS__;
				self::$_instance = new $class();
			}
			return self::$_instance;
		}

		#	Constructor
		public function __construct () {
			$this->_prepare();
		}

		public function _prepare() {
		  foreach (self::$_config['add'] as $key => $val) {
		    if ($key == "debug") {
		      if ($val != "false" && $val != "true") {
		        error::write("Ошибка в подготовке файла конфигурации. Значение режима дебагинга может быть либо true, либо false");
		      }
		    }
		  }

		  foreach (self::$_config['datebase'] as $key => $val) {
		    if ($key == "db_type") {
		      if ($val != "mysql" && $val != "text") {
		       error::write("Ошибка в подготовке файла конфигурации. Значение db_type может быть только mysql или text");
		      }
		    }

		    if (empty($val)) {
		      error::write("Не заполнено одно или несколько полей в файле конфигурации, раздел datebase");
		    }
		  }
		}

		public static $_config = array(
			'datebase' => array (
				'db_host' => "localhost", //хост БД
				'db_user' => "root", //пользователь БД
				'db_pass' => "kjkszpj019jiop", //пароль от БД
				'db_name' => "api", //имя таблицы в БД
				'db_locale' => "no", //кодировка соединений с БД. Если значение в "no" => будет выбрана стандартная, utf8
				'db_type' => "mysql", //тип базы данных, например mysql или text
			),
			'users' => array(
				'access_to_enter_adm' => "5", //доступ в админку
			),
			'tables' => array(
				'users_table' => "", //имя таблицы с пользователями
				'names' => "", //первая дополнительная таблица
				'email' => "", //вторая дополнительная таблица
			  'error_table' => "", //таблица "ошибок"
			),
			'add' => array(
				'debug' => "false", //дебаг режим. true или false
			),
			'allowedForDebug' => array( // массив IP, для которых будет выводится дебаг режим
			'79.136.215.20', '127.0.0.1',
			),
		);


		# Константы
		const _TITLE_ = "api.ru"; // основная часть тайтла. Например Site.ru
		const _DIVIDER_ = "::"; //разделитель титульника
		const _FULL_ = "/home/peoneer/api"; //полный путь до папки проекта, на всякий случай
		const _CHARSET_ = "utf8"; //кодировка проекта. файлы проекта написаны в utf8, но кодировка, выдаваемая пользователю может быть иной

		###

	}
	###

?>

